1. Field of the Invention
The present invention relates to process control systems and applications and more specifically relates to methods and associated structures for gathering and presenting historical data regarding a real-time batch process and for associating such data with recipes, procedures and equipment used in the batch process.
2. Discussion of Related Art
Batch Processing
There are many types of industrial processes. Some run continuously until stopped, typically producing very large quantities of product between start-up and shutdown. Other industrial processes operate on groups of parts, with the group moving as a unit between workstations but with each part maintaining its own unique identity.
A third type of industrial process is the batch process, which involves subjecting raw materials to processing steps using one or more pieces of equipment to produce a “batch” of product. Cooking is an example of a batch process practiced in the home. Raw food is prepared, is placed in a pan, is cooked for a time specified by a recipe, and ends up as a dish or “batch” ready for eating.
Preparation of polyvinyl chloride is an example practiced on an industrial scale. Polyvinyl chloride is made by polymerizing or “joining together” much smaller molecules of vinyl chloride. This is accomplished by filling a batch reactor to the appropriate level with a mixture of vinyl chloride, solvent and polymerization inducer, heating the mixture in the reactor, cooling the resulting batch, and purifying the batch by removing leftover starting materials.
These are but a few examples of batch processes. In general, there are many different kinds of batch processes. They may include, for example, product manufacturing, distribution, and testing as well as several other product and non-product oriented processes.
Batch Process Control
Generally speaking, it is important to control a batch process. For one example, if a dish is left on the stove for too long during cooking, it will burn and the resultant batch of food will be ruined. For another example, if a reaction mixture of vinyl chloride is not reacted long enough, the yield of polyvinyl chloride from the process will be inadequate and money will be lost. Control of a batch process can become critical where production of dangerous chemicals or comparable entities is involved.
One way to control a batch process is manually. That is, one or more workers are assigned the job of watching all aspects of batch process to be sure that everything is proceeding according to plan. However, this is tedious work, and errors can creep in unnoticed.
For these and other reasons, workers in the field of batch control have been trying for some time now to automate the control of batch processes by using electronic devices. Computers, programmable controllers and comparable electronic devices have been used in conjunction with intelligent field devices (i.e., intelligent sensors and controllable valves) by a number of batch control system suppliers to automate the control of batch processes.
An intelligent sensor is typically placed on a piece of equipment and reports on equipment conditions to a central control room in the plant. A controllable valve typically controls the input to, or output from, a piece of equipment, and can be controlled from a central control room, often based on information received from an intelligent sensor.
Efforts to automate batch processing have led to the formation of standards committees by members of industries involved in batch processing and suppliers of batch processing equipment, among others. The general purpose of these standards committees has been to define uniform standards for automated batch processing.
One such standard has been promulgated by the International Society for Measurement and Control, an international organization concerned with issues of process control. This standard is entitled Batch Control Part 1: Models and Terminology and is often referred to as the ISA S88.01-1995 standard (or “S88” for purposes of this application).
The S88.01 standard defines models of equipment and procedures for use in automated batch processes, as well as terminology for use in referring to those models and their elements. The S88.01 standard defines a “batch process” as a process that leads to the production of finite quantities of material by subjecting quantities of input materials to an ordered set of processing activities over a finite period of time using one or more pieces of equipment. A “batch” is defined as the material that is being produced or has been produced by a single execution of a batch process.
Procedural Model
Batch-processing equipment (i.e., controllable elements such as valves, heaters, mixers, etc.) is operated according to procedures to make a batch. For purposes of this application, all such equipment is referred synonymously to as equipment, equipment modules, processing equipment, or physical element. The procedures to operate such physical elements are often referred to by the S88.01 standard as the “procedural model.” According to the S88.01 standard, the procedural model is structured as a hierarchical ranking of procedures, with the highest level encompassing each of the lower levels, the next highest level encompassing each of the levels below it, and so on. The levels of the S88.01 procedural model of particular interest for purposes of this application are, in descending order:                the “procedure”        the “unit procedure”        the “operation”        the “phase”The term “procedural element” is used in this application to refer to any embodiment or implementation of any of these levels of the S88.01 procedural model, not just to those of the “procedure” level or any other single level of the procedural model.        
The highest-level procedural element of interest is referred to as a procedure, which is made up of one or more unit procedures. Each unit procedure is in turn made up of one or more operations, which are each in turn made up of one or more phases. The S88.01 procedural model does not preclude definition and use of other hierarchical levels, nor does it require that each level be present in particular applications. Rather, the standard is intended to provide a broad, standardized model for describing the procedures followed in automated batch-process control.
Linkage of Physical and Procedural Elements
In general, procedural elements are implemented as computer programs that are executed by and within data-processing devices, including personal computers, workstations, and programmable controllers. Execution of a typical procedural element results in an electrical or optical output from the data-processing device that can be used to control a physical element, typically by connecting an output of the data-processing device to the physical element directly, or indirectly over a local-area or wide-area network.
A procedural element performs its assigned task by invoking “basic control” with respect to at least one physical element. This type of control is dedicated to establishing and maintaining a specific desired state of the physical element. Basic control would, for example, start or maintain a flow of material in a storage bin element or heating of starting materials in a polyvinyl chloride reactor element.
In practice, the lower levels of the procedural model (namely phases) perform the actual communications with the actual physical elements thereby invoking or performing basic control. The higher levels of the procedural model are essentially abstractions to improve organization and structure of the procedural model, and the physical model as well.
Procedural Elements and the State Machine Model
A state machine model is a logical construct commonly used to describe the state of a process or activity. The model describes or defines a number of process states, together with actions that cause transitions between those states. A state machine model of a process is said to be in a particular state due to an earlier transition into that state. When a particular event occurs or a particular status is sensed, the state machine model makes a transition to another state corresponding to the particular event or sensed status.
A state machine model is a useful technique for defining and implementing the operation of a procedural element of a batch process. A procedural element defined and implemented as a state machine initiates an action, for example, when its associated state machine makes a transition from an old state to a new state.
The S88.01 standard permits definition and implementation of procedural elements in accordance with a standard state machine model. While the S88.01 standard does not mandate this approach, it has been broadly adopted in the process control industry to enable a higher degree of interoperability among the products of various vendors (as explained further below). One present commercial application of the S88.01 standard having procedural elements defined and implemented according to a state machine model is the DeltaV Batch product from Fisher-Rosemount Systems, Inc. at 83.01 Cameron Road, Autsin, Tex. 78754.
In DeltaV Batch, a server program runs on the data processing device that executes procedural elements. The server program coordinates execution of procedural elements in accordance with one or more state machine models. Procedures, corresponding unit procedures, corresponding operations, and corresponding phases are sequenced through their respective steps by the server program.
When a phase is initiated by the server program, for example, the phase communicates the initiation request to the phase logic interface within a programmable controller. The programmable controller then executes the actual state logic for the phase and provides the required process control through communications to the process equipment.
Historical Data
In such batch processes, it is desirable to gather data representative of the historical events that make up the processing of a batch. Such historical data may be useful, for example, in determining trends in quality control or for determining when equipment used in the batch process is in need of service.
A number of types of data are potentially useful in reviewing the quality or progress of a batch process. One such source of data is continuous data generated by the various data points in the batch process during the processing of the batch. A data point is a single source of such continuous data that reflects some control value or other status or measurement of the batch process. For example, a particular level of a material flow or a temperature as measured by a sensor might be one such data point. A present setting of a control valve would be another such exemplary data point.
Each such data point generates a continuous stream of data values sensed or controlled over time by the batch process application. The aggregation of all such continuous data, generated during processing of a batch, is often logged by a batch processing system. Log records of such data points usually include a timestamp and a present value along with other identifying information for the data point such as a tag to identify the source of the data.
Another type of data useful in reviewing the quality or progress of a batch process is event information. Event information, as used herein, refers to information that describes the batch process in terms of procedural model execution. For example, batch events that describe the start and end time of a particular phase or a particular operation, unit procedure or procedure of the procedural model constitute such event information. Event information also includes process events—information generated by the physical elements of the batch process or by an operator. Each equipment module, cell, etc. may generate process events to indicate its specific activity in starting and stopping a particular phase (i.e., performing specific basic control actions). Alarm conditions recognized by the equipment are further examples of process events. Process events may also include information regarding operator changes to the batch process during its operation.
It is most useful to integrate these various forms of event information and continuous data to provide a comprehensive, understandable presentation of such information to a user of the batch process. However, presently available tools for reporting on batch process quality and progress fall far short of such integration. A user is required to perform the “integration” manually using a variety of disjoint tools. Further, to the limited extent present solutions do provide such integration, a user is required to provide significant, detailed configuration information to permit the reporting programs to correlate the various types and sources of event information and continuous data.
Present tools used in batch processing gather continuous data from the batch process. Other tools then provide the user with a cumbersome interface to locate particular sections of interesting data. For example, a user may use an indexing tool to define a filter or trigger that locates captured data relating to a particular event or procedure in the batch process. The filter or trigger may be, for example, as simple as defining a start and end time for data relating to execution of a particular phase. Or the definition may be more complex requiring the user to identify other parameters that identify data corresponding to a particular procedural element.
In general, the user must manually provide configuration information to define events of interest in the batch process. The configuration of this information often presents a complex task requiring significant user knowledge of the events of interest and the likely characteristics of data relevant to those events of interest. Further, regardless of the complexity of defining the filter for associating data with a procedural event, the process of defining such filters to associate data with batch events is a largely manual process as presently practiced in the art. Essentially the user must enter configuration data that identifies a particular event and particular portions of continuous data associated with that event. Such manual processes are prone to error such that the relationships between event information and related continuous data may be incorrectly established.
The user of the data requires knowledge of the structure of the stored data and is responsible for generating meaningful relationships among the data for their presentation. Though the query capabilities of the existing techniques may be significant, they provide little more than a relational database “front-end” for accessing data. Such relational database management system query operations still require a user to understand relationships among the various elements of stored data and to create therefrom meaningful queries for presentation of desired data.
Another problem with present batch processing tools arises in the presentation of such event information to a user. A batch historian program is one that gathers and presents such event information to a user of a batch processing system. Present batch historian programs produce tabular, textural reports from the continuous data or, at best, produce simple linear graphs of trends in elements of the continuous data. Present batch historian features of batch processing systems therefore provide limited flexibility in presentation of data to a user. For example, the relationships among batch events or process events and continuous data is difficult to discern from the tabular, textural presentations of present historian programs.
It is therefore a problem to provide methods and structures that automate the process of establishing relationships between the various sources of event information and any continuous data gathered from the batch process. An improved structure is needed that both automates and simplifies the establishment of relationships among the various gathered events and data. It is further desirable that improved methods and structures provide improved flexibility in the presentation of gathered data to enable better analysis of data by users of the batch processing system.